Efficient hardware guided filtering method for use in multi-label problem

ABSTRACT

The present invention provides an efficient hardware guided filtering method for use in solving a multi-label problem. The method includes the following steps: inputting an input guidance of a multi-label image; defining an efficient hardware guided filtering (HGF) model; calculating a vector by a customized matrix inversion operation; inputting guidance through a mapping program for adding up result of each channel to form a polynomial guidance, and introducing nonlinearity into the linear model; and obtaining a filtering result in an efficient hardware mode by element-wise calculation and box filtering.

CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a 371 application of PCT application numberPCT/CN2020/070051 filed Jan. 2, 2020 claiming priority from a Chinesepatent application number 201910047862.2 filed Jan. 18, 2019, which arehereby incorporated herein by reference in its entirety for allpurposes.

FIELD OF THE INVENTION

The present invention relates to the field of computer vision techniquesin a multi-channel guiding the filtered image, particularly an efficienthardware guided filtering method for use in a multi-label problem.

BACKGROUND OF THE INVENTION

Since 2010, guided filtering (GF) has been used to many problems incomputer vision and graphics such as image redirection, color transferand video defogging. Among them, a multi-label system may be one of themost suitable applications for GF to fully utilize its efficiency andeffects, because the heavy calculations in the multi-label systemurgently require a fast filtering tool.

Due to linear complexity and edge preservation abilities, GF isconsidered to be the best choice among all candidate filters in amulti-label system. However, a shortcoming of GF is that the color imageguided filtering algorithm is not efficient. It is observed that therunning time increases significantly according to the size of thematrix. Specifically, matrix inversion is a time-consuming operation.Therefore, it is inefficient to apply GF to a multi-label system withmulti-channel guidance, especially for a large number of channels.

In order to reduce the execution time, the most direct method of GF isto start a group of threads to invert the matrix at the same time.However, this strategy is not efficient on current hardware. This isbecause: (1) Both CPU and GPU rely on Single Instruction Multiple Data(SIMD) architecture to improve performance; (2) Branch instructions areinevitable for traditional matrix inversion methods such as LUalgorithm; (3) The SIMD architecture cannot run branch instructions atthe fastest speed, because these instructions need to decompose eachvector into elements and process them sequentially on the architecture.In order to avoid branch instructions, the matrix can be invertedaccording to an analytical solution of the matrix inversion. GF uses thefastest OpenCV to implement this strategy to invert the 3×3 matrix, andsuccessfully reduces the running time of inverting 106 matrices to lessthan 100 ms. However, the implementation complexity of the analysissolution increases as the size of the matrix increases. When the size ofthe matrix becomes larger, this method can no longer be implementedmanually.

SUMMARY OF THE INVENTION

An objective of the present invention is to provide an efficienthardware guided filtering method for use in a multi-label problem, wherethe method includes:

Step 1, inputting the input guidance of a multi-label image;

Step 2, defining an efficient hardware guided filtering (HGF) model;

Step 3, calculating a vector {right arrow over (w_(p))} by a customizedmatrix inversion operation;

Step 4, inputting guidance through a mapping program for adding upresult of each channel to form a polynomial guidance, and introducingnonlinearity into the linear model;

Step 5, obtaining a filtering result in an efficient hardware mode byelement-wise calculation and box filtering.

The invention adopts element-wise arithmetic calculation and boxfiltering, having the following advantages: (1) Introducing nonlinearityto GF by inputting synthetic polynomial multi-channel guidance toovercome the shortcomings of GF linear model; (2) Linear models areusually not suitable for the input data due to their simplicity, so theytend to produce excessively smooth results; (3) Through the hardwareefficient matrix inversion algorithm, the additional running timeaccompanying the nonlinear model can be reduced to an acceptable level.

The present invention will be further described below in conjunctionwith the accompanying drawings of the specification.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a flowchart of the present invention.

FIG. 2 is a flowchart of HGF using input filtering from a multi-labelsystem.

DETAILED DESCRIPTION

With reference to FIG. 1, an efficient hardware guided filtering methodfor use in a multi-label problem includes a total of four processes: (1)Definition of HGF; (2) Calculation of vector {right arrow over (w_(p))};(3) Synthetic polynomial guidance; (4) Efficient hardwareimplementation.

(1) Defining HGF Includes the Following Steps:

Step 1. multi-point estimation: to calculate the estimation of a groupof points in local support. Specifically, HGF estimates the coefficient{right arrow over (w_(p))} of the filter model (1) by minimizing linearridge regression (2), where Y represents the input image.

$\begin{matrix}{{{Z(q)} = {{\sum_{i = 1}^{n}{{\overset{arrow}{w_{p}}(i)}{G_{i}(q)}}} + {\overset{arrow}{w_{p}}(0)}}},{\forall{q \in \Omega_{p}}}} & (1) \\{{\min\limits_{\overset{arrow}{w_{p}}}\;{\lambda{\overset{arrow}{w_{p}}}_{2}^{2}}} + {\sum_{q \in \Omega_{p}}( {{Y(q)} - {\sum_{i = 1}^{n}{{\overset{arrow}{w_{p}}\ (i)}{G_{i}(q)}}} - {\overset{arrow}{w_{p}}(0)}} )^{2}}} & (2)\end{matrix}$

Step 2. Aggregation: Fusion of each point available for multi-pointestimates.

Equation (2) is used to optimize equation (1) to minimize {right arrowover (w_(p))} input HGF, getting a set of values Z_(p)′(q)=Σ_(i=1) ^(n){tilde over (w)}_(i,p) G_(i)(q)+{right arrow over (w)}_(0,p), q∈Ω_(p)for a given window Ω_(p); HGF aggregates these values together, andregards their average value

$\frac{1}{\Omega_{q}}{\sum_{p \in \Omega_{q}}{Z_{p}^{\prime}(q)}}$

as the final filtering result Z(q).

$\begin{matrix}\begin{matrix}{{Z(q)} = {{\frac{1}{\Omega_{q}}{\sum_{p \in \Omega_{q}}{\sum_{i = 1}^{n}{{\overset{arrow}{w_{p}}(i)}{G_{i}(q)}}}}} + {\overset{arrow}{w_{p}}(0)}}} \\{= {{\sum_{i = 1}^{n}{{{\overset{arrow}{w}}_{q}^{a}(i)}{G_{i}(q)}}} + {{\overset{arrow}{w}}_{q}^{a}(0)}}}\end{matrix} & (3)\end{matrix}$

(2) Calculating the Vector {right arrow over (w_(p))} Includes theFollowing Steps:

Step 3. To calculate the vector {right arrow over (w_(p))} according toequation (4) including the matrix inversion operation (λE+X_(P)^(T)X_(p))⁻¹. E represents the identity matrix, the matrix X_(p)=[{rightarrow over (c)}_(0,p), . . . , {right arrow over (c)}_(n,p)] of inputimage pixel p. For the i^(th) vector {right arrow over (c)}_(i,p) of P,{right arrow over (c)}_(i,p)=[G_(i)(q₁), . . . , G_(i)(q_(|Ω) _(p)_(|))]^(T) (0≤i≤n+1) is added to the record value G_(i)(q_(k)) of thek^(th) output pixel, wherein q_(k)∈Ω_(p), Ω_(p) represents theneighboring region centered on the pixel P; and |Ω_(p)| represents thetotal number of pixels in Ω_(p), and the image is G_(i).

{right arrow over (w _(p))}=(λE+X _(P) ^(T) X _(p))⁻¹ X _(p) ^(T) {rightarrow over (c)} _(n,p)  (4)

Step 4. Replacing λE+X_(P) ^(T)X_(p) by λE+Σ_(i=0) ^(n) {right arrowover (c)}_(i,p) {right arrow over (c)}_(i,p) ^(T), equation (4) isre-expressed as equation (5).

{right arrow over (w _(p))}=X _(P) ^(T)(λE+X _(P) ^(T) X _(p))⁻¹ {rightarrow over (c)} _(n+1,p)=[{right arrow over (c)} _(0,p) ^(T) , . . .,{right arrow over (c)} _(n,p) ^(T)]^(T)(λE+Σ _(i=0) ^(n) {right arrowover (c)} _(i,p) {right arrow over (c)} _(i,p) ^(T))⁻¹ {right arrow over(c)} _(n+1,p)  (5)

Step 5, if λE+Σ_(i=0) ^(n) {right arrow over (c)}_(i,p) {right arrowover (c)}_(i,p) ^(T) is invertible in step 4, then equation (6) isvalid. Where α_(ij,p)=α_(ij,p) ^(n), and can be calculated throughequation (7) iterative calculation, k is from 1 to n, wherein

$\begin{matrix}{{\alpha_{00}^{0} = {- ( {\lambda + G_{{00},p}} )^{- 1}}}{G_{{ij},p} = {{\overset{arrow}{c}}_{i,p}^{T}{\overset{arrow}{c}}_{j,p}}}{F_{{ij},p}^{k} = {\sum_{m,{n = 0}}^{k - 1}{\alpha_{{im},p}^{k - 1}\alpha_{{nj},p}^{k - 1}G_{{mk},p}G_{{kn},p}}}}{\gamma_{p}^{k} = {- ( {1 + {\lambda^{- 1}G_{{kk},p}} + {\sum_{m,{n = 0}}^{k - 1}{\alpha_{{mn},p}^{k - 1}G_{{km},p}G_{{nk},p}}}} )^{- 1}}}{( {{\lambda E} + {\sum_{i = 0}^{n}{{\overset{arrow}{c}}_{i,p}{\overset{arrow}{c}}_{i,p}^{T}}}} )^{- 1} = {{\lambda^{- 1}E} + {\sum_{i,{j = 0}}^{n}{\alpha_{{ij},p}{\overset{arrow}{c}}_{i,p}{\overset{arrow}{c}}_{j,p}^{T}}}}}} & (6) \\{\alpha_{{ij},p}^{k} = \{ \begin{matrix}{{{\gamma_{p}^{k}F_{{ij},p}^{k}} + \alpha_{{ij},p}^{k - 1}}\ } & {{i < k},{j < k}} \\{{\lambda^{- 1}{\gamma_{p}^{k}( {\sum_{n = 0}^{k - 1}{\alpha_{{in},p}^{k - 1}G_{{nj},p}}} )}}\ } & {{i < k},{j = k}} \\{{\lambda^{- 1}{\gamma_{p}^{k}( {\sum_{m = 0}^{k - 1}{\alpha_{{mj},p}^{k - 1}G_{{im},p}}} )}}\ } & {{i = k},{j < k}} \\{\lambda^{- 2}\gamma_{p}^{k}} & {{i < k},{j = k}}\end{matrix} } & (7)\end{matrix}$

Step 6, to put the equation (6) into equation (5): the k^(th) element{right arrow over (w_(p))}(k) of {right arrow over (w_(p) )} convertsinto a linear combination G_(ij,p) as in equation (8).

$\begin{matrix}{{\overset{arrow}{w_{p}}(k)} = {{{{\overset{arrow}{c}}_{k,p}^{T}( {{\lambda E} + {\sum_{i = 0}^{n}{{\overset{arrow}{c}}_{i,p}{\overset{arrow}{c}}_{i,p}^{T}}}} )}^{- 1}{\overset{arrow}{c}}_{{n + 1},p}} = {{{{\overset{arrow}{c}}_{k,p}^{T}( {{\lambda^{- 1}E} + {\sum_{i,{j = 0}}^{n}{\alpha_{{ij},p}{\overset{arrow}{c}}_{i,p}{\overset{arrow}{c}}_{j,p}^{T}}}} )}{\overset{arrow}{c}}_{{n + 1},p}} = {{\lambda^{- 1}I_{{{kn} + 1},p}} + {\sum_{i,{j = 0}}^{n}{\alpha_{{ij},p}I_{{ki},p}I_{{{jn} + 1},p}}}}}}} & (8)\end{matrix}$

Step 7, there is a vector inner product result of point p:G_(ij,p)={right arrow over (c)}_(i,p) ^(T) {right arrow over(c)}_(j,p)=Σ_(k=1) ^(|Ω) ^(p) ^(|)G_(i)(q_(k))G_(j)(q_(k))=Σ_(q∈Ω) _(p)G_(i)(q)G_(j)(q), and the box filtering result G_(ij)(p)=Σ_(q∈Ω) _(p)G_(i)G_(j)(q)=Σ_(q∈Ω) _(p) G_(i)(q)G_(j)(q), so if the neighboringregion Ω_(p) of p is a box window, since there is G_(ij,p)=G_(ij)(p),the box filter is applied to the element to generate the image to formG_(ij), {right arrow over (w_(p))}(k) is calculated according to thelinear combination of G_(ij) to form {right arrow over (w_(p))}. Theabove steps 4), 5), 6), and 7) only consist of arithmetic calculationsand box filtering, which completely eliminates matrix inversionoperations in the calculation process.

(3) The Synthetic Polynomial Guidance Includes the Following Steps:

With reference to FIG. 2, in step 8, equation (9) shows a polynomialmodel guidance I with gray input, where d is the degree of thepolynomial function. Assuming G_(i)=I^(i), the equivalence between thelinear model (1) and the polynomial model (9) can be found, when theinput guidance is multi-channel, the mapping program G_((i-1)d+j)=I_(i)^(j) is applied directly to each channel independently, where I_(i)represents the i^(th) channel of the multi-channel guide I, and n is thenumber of channels. After that, the results of each channel of the inputmulti-channel guide I are superimposed to form a polynomial guidance.Mathematically, the linear model (1) in this case is equivalent to thenonlinear polynomial model (10). Therefore, the nonlinearity issuccessfully assigned to the generalized linear model (1) of HGF.

Z(q)=Σ_(i=1) ^(d)={right arrow over (w _(p))}(i)I ^(i)(q)+{right arrowover (w _(p))}(0),∀q∈Ω _(p)  (9)

Z(q)=Σ_(i=1) ^(n)Σ_(j=1) ^(d){right arrow over (w _(p))}((i−1)d+j)I _(i)^(j)(q)+{right arrow over (w _(p))}(0)  (10)

(4) Efficient Hardware Implementation Includes the Following Steps:

Step 9, equation (8) reveals the effective hardware method forcalculating {right arrow over (w_(p))}, guaranteeing that the k^(th)element {right arrow over (w_(p))}(k) of {right arrow over (w_(p))} is alinear combination of the box filtering result G_(ij)(p). Specifically,

(X) represents the box filtering result of image X, W_(i) and α_(ij)record the values {right arrow over (w_(p))}(k) and α_(ij,p) of any p inthe image region (W_(i)(p)={right arrow over (w_(p))}(i),α_(ij)(p)=α_(ij,p)).

Step 10, extending equation (8) to the following box filtering resultG_(ij) (11) and element-wise arithmetic calculation (12), G₀ representsall-ones matrix, G_(i)(1≤i≤n) represents the i^(th) channel of G guidedby the synthetic polynomial n channel, G_(n+1) is another representationmethod of the input image Y.

G _(ij)=

(G _(i) G _(j))  (11)

W _(i)=λ⁻¹ G _(kn+1)+Σ_(i,j=0) ^(n)α_(ij) G _(ki) G _(jn+1)  (12)

Updating the formula α_(ij,p) ^(k) can also be modified to theelement-wise arithmetic calculation of matrix (13), where α₀₀⁰=−(λ+G_(00,p))⁻¹, F^(k)=Σ_(m,n=0) ^(k-1) α_(im) ^(k-1) α_(nj) ^(k-1)G_(mk) G_(kn), and γ^(k)=−(1+λ⁻¹G_(kk)+Σ_(m,n=0) ^(k-1) α_(mn) ^(k-1)G_(km) G_(nk))⁻¹.

$\begin{matrix}{\alpha_{ij}^{k} = \{ \begin{matrix}{F_{p}^{k} + \alpha_{ij}^{k - 1}} & {{i < k},{j < k}} \\{\lambda^{- 1}{\gamma^{k}( {\sum_{n = 0}^{k - 1}{\alpha_{i\; n}^{k - 1}G_{nk}}} )}} & {{i < k},{j = k}} \\{\lambda^{- 1}{\gamma^{k}( {\sum_{m = 0}^{k - 1}{\alpha_{mj}^{k - 1}G_{k\; m}}} )}} & {{i = k},{j < k}} \\{\lambda^{- 2}\gamma^{k}} & {i = {j = k}}\end{matrix} } & (13)\end{matrix}$

Step 11, HGF calculates the filtering result Z according to the averagevalue of the coefficient {right arrow over (w_(p))}, defining theaverage operator

(X)=

(X)/

(G₀), expressing the element-wise arithmetic calculation form ofequation (3) as equation (14):

Z=Σ _(i=1) ^(n)

(W _(i))G _(i)+

(W ₀)  (14)

Step 12, observing the equation (11), (12), (13), (14), all equationsinvolve only two calculation types: one is the element-wise arithmeticcalculation of the matrix, and the other is the box filtering of theimage, element-wise arithmetic calculation is a typical data paralleltask. It applies element functions to the actual set of input data. Thearithmetic calculation can be directly assigned to the core of the CPUor the threads of the GPU for parallel calculation. Many software orlibraries support element-wise arithmetic calculations, such as Matlab,ViennaCL and Arrayfire.

Step 13, the value of the smoothed image produced by the box filteringis equal to the sum of its neighboring pixels in the input image. Thereis no need to manually implement box filtering, Intel's two libraries,the NPP of OpenCV and Nvidia are already available.

What is claimed is:
 1. An efficient hardware guided filtering method foruse in a multi-label problem comprising: step 1: inputting the inputguidance of a multi-label image; step 2: defining an efficient hardwareguided filtering (HGF) model; step 3: calculating a vector {right arrowover (w_(p))} by means of a customized matrix inversion operation; step4: inputting guidance through a mapping program for adding up theresults of each channel to form a polynomial guidance, and introducingnonlinearity into the linear model; and step 5: obtaining a filteringresult in an efficient hardware mode by means of element-wisecalculation and box filtering.
 2. The method according to claim 1,wherein the step 2 comprises the following steps: step 201: defining theHGF by:Z(q)=Σ_(i=1) ^(n){right arrow over (w _(p))}(i)G _(i)(q)+{right arrowover (w _(p))}(0),∀q∈Ω _(p)  (1) wherein {right arrow over (w_(p))}(i)is i^(th) coefficient; {right arrow over (w_(p))}(0) is an initialcoefficient; G_(i)(q) is a recorded value of a pixel q; step 202:minimizing linear ridge regression (2) to estimate equation (1), whereincoefficient {right arrow over (w_(p))} of HGF is obtained by:$\begin{matrix}{{\min\limits_{\overset{arrow}{W_{p}}}{\lambda{\overset{arrow}{w_{p}}}_{2}^{2}}} + {\sum_{q \in \Omega_{p}}( {{Y(q)} - {\sum_{i = 1}^{n}{{\overset{arrow}{w_{p}}\ (i)}{G_{i}(q)}}} - {\overset{arrow}{w_{p}}(0)}} )^{2}}} & (2)\end{matrix}$ wherein Y(q) is an input image; λ is a regularizationparameter; and Ω_(p) is a neighboring region centered on a pixel P; step203: obtaining a set of value Z′_(p)(q) of Ω_(p), adding filteringresults of the two pixels together, wherein an average value$\frac{1}{\Omega_{q}}{\sum_{p \in \Omega_{q}}{Z_{p}^{\prime}(q)}}$ isregarded as a final filtering result Z(q), wherein${{Z_{p}^{\prime}(q)} = {{\sum\limits_{i = 1}^{n}{{\overset{arrow}{w}}_{i,p}{G_{i}(q)}}} + {\overset{arrow}{w}}_{0,p}}},{q \in \Omega_{p}}$$\begin{matrix}\begin{matrix}{{Z(q)} = {{\frac{1}{\Omega_{q}}{\sum_{p \in \Omega_{q}}{\sum_{i = 1}^{n}{{\overset{arrow}{w_{p}}(i)}{G_{i}(q)}}}}} + {\overset{arrow}{w_{p}}(0)}}} \\{= {{\sum_{i = 1}^{n}{{{\overset{arrow}{w}}_{q}^{a}(i)}{G_{i}(q)}}} + {{\overset{arrow}{w}}_{q}^{a}(0)}}}\end{matrix} & (3)\end{matrix}$ wherein {right arrow over (w)}_(i,p) is i^(th) coefficientof pixel p, {right arrow over (w)}_(0,p) is an initial coefficient ofpixel p, and {right arrow over (w)}_(q) ^(a) is a mean value of {rightarrow over (w)}_(p) in Ω_(q).
 3. The method according to claim 1,wherein the step 3 comprises the following steps: step 301: calculatingthe vector {right arrow over (w_(p))} according to the followingequation (4) including the customized matrix inversion operation(λE+X_(P) ^(T)X_(p))⁻¹:{right arrow over (w _(p))}=(λE+X _(P) ^(T) X _(p))⁻¹ X _(p) ^(T) {rightarrow over (c)} _(n,p)  (4) wherein E is an identity matrix;X_(p)=[{right arrow over (c)}_(0,p), . . . , {right arrow over(c)}_(n,p)] is a matrix of input image pixel p, and {right arrow over(c)}_(n,p) is the n^(th) vector of pixel p, and wherein with respect toi^(th) vector {right arrow over (c)}_(i,p) of {right arrow over(c)}_(i,p)=[G_(i)(q₁), . . . , G_(i)(q_(|Ω) _(p) _(|))]^(T) (0≤i≤n+1) isadded to a recorded value G_(i)(q_(k)) of the k^(th) output pixel q,wherein q_(k)∈Ω_(p), Ω_(p) represents a neighboring region centered onthe pixel P; and |Ω_(p)| represents the total number of pixels in Ω_(p);step 302: replacing λE+X_(P) ^(T)X_(p) by λE+Σ_(i=0) ^(n) {right arrowover (c)}_(i,p) {right arrow over (c)}_(i,p) ^(T) to obtain equation(5), wherein if the equation is invertible then the equation (6) isvalid: $\begin{matrix}{\overset{arrow}{w_{p}} = {{{X_{P}^{T}( {{\lambda E} + {X_{P}^{T}X_{p}}} )}^{- 1}{\overset{arrow}{c}}_{{n + 1},p}} = {\lbrack {{\overset{arrow}{c}}_{0,p}^{T},\ldots\mspace{14mu},{\overset{arrow}{c}}_{n,p}^{T}} \rbrack^{T}( {{\lambda\; E} + {\sum_{i = 0}^{n}{{\overset{arrow}{c}}_{i,p}{\overset{arrow}{c}}_{i,p}^{T}}}} )^{- 1}{\overset{arrow}{c}}_{{n + 1},p}}}} & (5) \\{( {{\lambda E} + {\sum_{i = 0}^{n}{{\overset{arrow}{c}}_{i,p}{\overset{arrow}{c}}_{i,p}^{T}}}} )^{- 1} = {{\lambda^{- 1}E} + {\sum_{i,{j = 0}}^{n}{\alpha_{{ij},p}{\overset{arrow}{c}}_{i,p}{\overset{arrow}{c}}_{j,p}^{T}}}}} & (6) \\{\alpha_{{ij},p}^{k} = \{ \begin{matrix}{{{\gamma_{p}^{k}F_{{ij},p}^{k}} + \alpha_{{ij},p}^{k - 1}}\ } & {{i < k},{j < k}} \\{{\lambda^{- 1}{\gamma_{p}^{k}( {\sum_{n = 0}^{k - 1}{\alpha_{{in},p}^{k - 1}G_{{nj},p}}} )}}\ } & {{i < k},{j = k}} \\{{\lambda^{- 1}{\gamma_{p}^{k}( {\sum_{m = 0}^{k - 1}{\alpha_{{mj},p}^{k - 1}G_{{im},p}}} )}}\ } & {{i = k},{j < k}} \\{\lambda^{- 2}\gamma_{p}^{k}} & {{i < k},{j = k}}\end{matrix} } & (7) \\{F_{{ij},p}^{k} = {\sum_{m,{n = 0}}^{k - 1}{\alpha_{{im},p}^{k - 1}\alpha_{{nj},p}^{k - 1}G_{{mk},p}G_{{kn},p}}}} & \; \\{\gamma_{p}^{k} = {- ( {1 + {\lambda^{- 1}G_{{kk},p}} + {\sum_{m,{n = 0}}^{k - 1}{\alpha_{{mn},p}^{k - 1}G_{{km},p}G_{{nk},p}}}} )^{- 1}}} & \;\end{matrix}$ wherein, k, i, j, m, and n represent superscripts andsubscripts of a corresponding matrix, step 303: putting the equation (6)into the equation (5), and converting the k^(th) element {right arrowover (w_(p))}(k) of {right arrow over (w_(p))} into a linearcombination: $\begin{matrix}\begin{matrix}{{\overset{arrow}{w_{p}}(k)} = {{{\overset{arrow}{c}}_{k,p}^{T}( {{\lambda E} + {\sum\limits_{i = 0}^{n}{{\overset{arrow}{c}}_{i,p}{\overset{arrow}{c}}_{i,p}^{T}}}} )}^{- 1}{\overset{arrow}{c}}_{{n + 1},p}}} \\{= {{{\overset{arrow}{c}}_{k,p}^{T}( {{\lambda^{- 1}E} + {\sum\limits_{i,{j = 0}}^{n}{\alpha_{{ij},p}{\overset{arrow}{c}}_{i,p}{\overset{arrow}{c}}_{j,p}^{T}}}} )}{\overset{arrow}{c}}_{{n + 1},p}}} \\{= {{\lambda^{- 1}I_{{{kn} + 1},p}} + {\Sigma_{i,{j = 0}}^{n}\alpha_{{ij},p}I_{{ki},p}I_{{{jn} + 1},p}}}}\end{matrix} & (8)\end{matrix}$ step 304: obtaining vector inner product result G_(ij,p)and box filtering result G_(ij)(p) of point p:G _(ij,p) ={right arrow over (c)} _(i,p) ^(T) {right arrow over (c)}_(j,p)=Σ_(k=1) ^(|Ω) ^(p) ^(|) G _(i)(q _(k))G _(j)(q _(k))=Σ_(q∈Ω) _(p)G _(i)(q)G _(j)(q)G _(ij)(p)=Σ_(q∈Ω) _(p) G _(i)(q)G _(j)(q) step 305: if the neighboringregion Ω_(p) of p is a box window, then G_(ij,p)=G_(ij)(p), applying thebox filter to an element to generate image to obtain G_(ij), andcalculating {right arrow over (w_(p))}(k) according to a linearcombination of G_(ij) to form {right arrow over (w_(p))}.
 4. The methodaccording to claim 1, wherein the step 4 comprises: when the inputguidance is multi-channel, the mapping program G_((i-1)d+j)=I_(i) ^(j)is applied directly to each channel independently, and results of eachchannel of the input multi-channel guide I are superimposed to form apolynomial guidance, nonlinearity is assigned to a generalized linearmodel (1) of the HGF to obtain a nonlinear polynomial model (10):Z(q)=Σ_(i=1) ^(n)Σ_(j=1) ^(d){right arrow over (w _(p))}((i−1)d+j)I _(i)^(j)(q)+{right arrow over (w _(p))}(0)  (10) wherein d is a degree ofthe polynomial function; I_(i) represents the i^(th) channel of themulti-channel guide I, and n is the number of channels
 5. The methodaccording to claim 1, wherein the step 5 comprises the following steps:step 501: representing a box filtering result of image X as

(X), W_(i) and α_(ij) recording values of {right arrow over (w_(p))}(k)and α_(ij,p) at any p point in the image region; step 502: extendingequation for calculating {right arrow over (w_(p))}(k) to those whichonly use the box filtering result G_(ij) (11) and element-wisearithmetic calculation (12) $\begin{matrix}{G_{ij} = {\mathcal{B}( {G_{i}G_{j}} )}} & (11) \\{W_{i} = {{\lambda^{- 1}G_{k{({n + 1})}}} + {\sum_{i,{j = 0}}^{n}{\alpha_{ij}G_{ki}G_{j{({n + 1})}}}}}} & (12) \\{\alpha_{ij}^{k} = \{ \begin{matrix}{F_{p}^{k} + \alpha_{ij}^{k - 1}} & {{i < k},{j < k}} \\{\lambda^{- 1}{\gamma^{k}( {\sum_{n = 0}^{k - 1}{\alpha_{i\; n}^{k - 1}G_{nk}}} )}} & {{i < k},{j = k}} \\{\lambda^{- 1}{\gamma^{k}( {\sum_{n = 0}^{k - 1}{\alpha_{mj}^{k - 1}G_{k\; m}}} )}} & {{i = k},{j < k}} \\{\lambda^{- 2}\gamma^{k}} & {i = {j = k}}\end{matrix} } & (13)\end{matrix}$ wherein, G₀ represents all-ones matrix; G_(i)(1≤i≤n)represents the i^(th) channel of G guided by the synthetic polynomial nchannel; G_(n+1) represents an input image Y; λ is a regularizationparameter; i, j, k, (n+1) represent superscripts and subscripts of acorresponding matrixa ₀₀ ⁰=−(λ+G _(00,p))⁻¹F ^(k)=Σ_(m,n=0) ^(k-1)α_(im) ^(k-1)α_(nj) ^(k-1) G _(mk) G _(kn)γ^(k)=−(1+λ⁻¹ G _(kk)+Σ_(m,n=0) ^(k-1)α_(mn) ^(k-1) G _(km) G _(nk))⁻¹;step 503: HGF calculating the filtering result Z according to an averagevalue of coefficient {right arrow over (w_(p))}, defining an averageoperator

(X)=

(X)/

(G₀), the element-wise arithmetic calculation form of the filteringresult calculation equation of equation (3) is expressed as equation(14):Z=Σ _(i=1) ^(n)

(W _(i))G _(i)+

(W ₀)  (14); step 504, obtaining the filtering result after HGF fastfiltering.